import Vue from "vue";
import Vuex from "vuex";

import cityModule from "./city";
import moviesModule from "./movies";
import detailModule from "./detail";
import ratedModule from "./rated";

Vue.use(Vuex);

// const store = new Vuex.Store({
//   state: {
//     // 具体城市数据
//     cityList: [],
//     // 热门城市数据
//     hotCityList: [],
//     // 城市首字母索引列表
//     indexList: [],
//     // 城市名称
//     cityName: localStorage.getItem("cityName") || "杭州",
//     // 城市对应id编号
//     cityId: localStorage.getItem("cityId") || 330100,

//     // 详情页列表数据
//     detailData: [],
//     // 想观看此电影的人数
//     number: 0,

//     // 最受好评电影列表
//     ratedList: [],

//     // 首页电影列表
//     moviesList: [],
//     // 首页所有电影数据的id值
//     movieIds: [],
//     // 从第几条id开始截取后传送给后端
//     startId: 0,
//     // 每次需要加载的数据条数
//     size: 5,
//   },
//   mutations: {
//     // 改变城市列表cityList的值
//     getCityList(state, payload) {
//       state.cityList = payload.result;
//       state.hotCityList = payload.result.splice(0, 1);
//       state.cityList = payload.result;
//       state.indexList = [];
//       payload.result.forEach((element) => {
//         state.indexList.push(element.prefix);
//       });
//     },

//     // 点击事件选择城市改变城市名称
//     changeCityName(state, payload) {
//       state.cityName = payload.name;
//       state.cityId = payload.id;
//       localStorage.setItem("cityName", payload.name);
//       localStorage.setItem("cityId", payload.id);
//     },

//     // 改变state中detailData
//     getDetailData(state, payload) {
//       state.detailData = payload.result;
//     },

//     // 获取最受好评电影列表数据
//     getRatedData(state, payload) {
//       state.ratedList = payload.result;
//     },

//     // 获取首页电影列表数据
//     getMoviesData(state, payload) {
//       state.moviesList = payload.result;
//       state.movieIds = payload.ids;
//       state.startId = payload.result.length;
//     },

//     // 获取上拉加载电影列表数据
//     getPullData(state, payload) {
//       state.moviesList = state.moviesList.concat(payload.result);
//       state.startId += state.size;
//       console.log(state.moviesList);
//     },
//   },
//   actions: {
//     // 异步请求城市列表数据
//     async getCityListAsync({ commit }) {
//       const res = await getCityDataApi();
//       commit("getCityList", res);
//     },

//     // 异步请求详情页面数据
//     getDetailDataAsync({ commit }, payload) {
//       return new Promise((resolve) => {
//         getDetailDataApi(payload).then((res) => {
//           commit("getDetailData", res);
//           resolve();
//         });
//       });
//     },

//     // 异步请求最受好评电影数据
//     getRatedDataAsync({ commit }) {
//       return new Promise((resolve) => {
//         getRatedDataApi().then((res) => {
//           commit("getRatedData", res);
//           resolve();
//         });
//       });
//     },

//     // 异步请求首页电影列表数据
//     getMoviesDataAsync({ commit }) {
//       return new Promise((resolve) => {
//         getMoviesDataApi().then((res) => {
//           commit("getMoviesData", res);
//           resolve();
//         });
//       });
//     },

//     // 异步请求上拉加载的电影数据
//     getPullDataAsync({ commit }, payload) {
//       return new Promise((resolve) => {
//         getPullDataApi(payload).then((res) => {
//           commit("getPullData", res);
//           resolve();
//         });
//       });
//     },
//   },
// });

const store = new Vuex.Store({
  modules: {
    city: cityModule,
    movies: moviesModule,
    detail: detailModule,
    rated: ratedModule,
  },
});

export default store;
